當然,模組化完是希望可以按照自己的期望去新增很多東西,但是事與願違,這邊告訴大家爲什麼
從我上次的給的 github 可以看到一個 Money 的檔案,這就是我去嘗試加的東西,我嘗試去新增了兩個東西(剩下的就留給之後的我了),我將塔防的金錢元素加進來,打死敵人會有錢,蓋塔會花錢,但是當我寫了這個檔案後發現,我的耦合度非常高(我畫面要渲染,所以主程式會有一個,塔有一個,敵人有一個,連地圖都有一個(因爲是地圖負責判斷能不能蓋,能就蓋並且要扣錢)),變成我的參數傳來傳去,當我要 new 出一個新的物件就會很長
//猜猜我傳了幾個參數去 new 出物件
let myTurret = new Phaser.Class(Turret(enemies, turretAttackDistance, turretShootingSpeed, bulletSpeed, bulletSurviveTime, bulletInjury, this.physics))
一開始我也是將子彈放在 main 檔 (index.js) 裡面 , 後來覺得子彈應該是由炮塔產生,所以會將 new 出子彈放入炮塔的類別裡面,就看到上面一大串的東西都在一起
然而這樣還有兩個很大的問題
因爲這一些的關係,所以我覺得我的塔防雖然有雛形,但沒辦法做到一個完整的程度,在我詢問過有人跟我說,有時候遊戲的互動(使用者介面)會比遊戲本身的規則還要重要,而顯然的在流程與架構的部分,並沒有好好的去思考與架構,這受限於我本身對於 phaser 3 還不熟練,再來是也對於架構並沒有很好的概念,但至少透過這個遊戲的雛形,我知道是有辦法做出一個完整且好玩的遊戲的,就等我之後更強一點再來重構了!!!